package com.synchronous7;

public class LazySingle {
    private LazySingle(){}
    public static LazySingle getInstance(){
        return Inner.INSTANCE;
    }
//    静态内部类去测试是否线程安全问题
    private static class Inner{
        static final LazySingle INSTANCE = new LazySingle();
    }
}
//内部类只有在外部类被调用才加载，产生INSTANCE实例；又不用加锁。
//此模式具有之前两个模式的优点，同时屏蔽了它们的缺点，是最好的单例模式。
//此时的内部类，使用enum进行定义，也是可以的。
